____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
ÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻÂŻ
Hypervisor
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
top
Hypervisor, auch Virtual-Machine-Monitor (aus englisch virtual machine monitor, kurz VMM) genannt, ist eine Software oder Firmware, die virtuelle Maschinen erstellt und verwaltet.cite-ref-1[1]cite-ref-2[2] Die Funktion in modernen Computern erlaubt es eine virtuelle Umgebung (Hardwareressourcen, insbesondere CPU, Speicher, Festplattenspeicherplatz und verfßgbare Peripherie) zu definieren, welche dann unabhängig von der tatsächlich vorhandenen Hardware als Basis fßr die Installation von (Gast-)Betriebssystemen dient. Dies geschieht, indem eine abstrahierende Schicht zwischen tatsächlich vorhandener Hardware (und ggf. auf dem System bereits installiertem Betriebssystem) und weiteren zu installierenden Betriebssystemen bereitgestellt wird.
Einige Literatur, insbesondere im Mikrokern-Kontext, macht eine Unterscheidung zwischen Hypervisor und Virtual-Machine-Monitor (VMM). Dort bilden beide Komponenten den Virtualisierungs-Stack eines bestimmten Computersystems. Hypervisor bezieht sich auf Kernel-Space-Funktionalität und VMM auf User-Space-Funktionalität. Insbesondere in diesen Kontexten ist ein Hypervisor ein Mikrokern, der Virtualisierungsinfrastruktur implementiert, die aus technischen Grßnden im Kern laufen muss, wie beispielsweise Intel VMX. Mikrokerne, die Virtualisierungsmechanismen implementieren, werden auch Microhypervisor genannt.cite-ref-3[3]cite-ref-4[4] Wenn man diese Terminologie auf Linux anwendet, dann ist KVM ein Hypervisor und QEMU oder auch Cloud Hypervisor sind VMMs, die KVM als Hypervisor nutzen.cite-ref-5[5]
Contents
⢠Eigenschaften
⢠Wortherkunft
⢠Klassifizierung
⢠Ausprägungen
⢠x86-Hypervisor
⢠Literatur
⢠Weblinks
⢠Einzelnachweise
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Eigenschaften
Hypervisoren erlauben den simultanen Betrieb mehrerer Gastsysteme auf einem Hostsystem. Der Hypervisor verwaltet die Ressourcenzuteilung fßr einzelne Gastsysteme. Er verteilt die Hardware-Ressourcen derart, dass fßr jedes einzelne Gastbetriebssystem alle Ressourcen bei Bedarf verfßgbar sind, so, als ob nur ein Betriebssystem vorhanden wäre. Dies kann durch Hardware-Emulation, Hardware-Virtualisierung oder Paravirtualisierung stattfinden. Den einzelnen Gastsystemen wird dabei jeweils ein eigener kompletter Rechner mit allen Hardware-Elementen (Prozessor, Laufwerke, Arbeitsspeicher usw.) vorgespielt.
Die tatsächlich vorhandene Hardwareumgebung wird als Hostsystem bezeichnet. Das ggf. darauf installierte Betriebssystem wird als Hostbetriebssystem bezeichnet.
Die virtuelle Umgebung mit dem installierten Gastbetriebssystem (oft auch als Virtuelle Maschine oder Gastsystem bezeichnet) ist auf allen Hostsystemen lauffähig, auf denen der Hypervisor installiert bzw. lauffähig ist. Es spielt dabei aus Sicht des Gastsystems keine Rolle, auf welcher Hardwareumgebung der Hypervisor selbst installiert ist, da der Hypervisor von der tatsächlich vorhandenen Hardware abstrahiert. Es ist die Aufgabe des Hypervisors, die Ressourcen der Hardware bedarfsgerecht an die virtuellen Maschinen zu verteilen.cite-ref-6[6]
In ihrem Artikel âFormal Requirements for Virtualizable Third Generation Architecturesâ von 1974 legten Gerald J. Popek und Robert P. Goldberg die formalen Grundlagen und stellen die grundlegenden Anforderungen an eine Architektur dar, um Hypervisoren zu unterstĂźtzen.cite-ref-7[7]
Hypervisoren kÜnnen, wenn die Voraussetzungen wie im o. g. Artikel durch die Hardware erfßllt werden, vollständig softwarebasiert umgesetzt werden, d. h., es sind grundsätzlich keine virtualisierungsspezifischen Erweiterungen im Prozessor erforderlich. Da sich durch Erweiterungen im Prozessor (Befehlssatz) jedoch sowohl Geschwindigkeits- als auch Sicherheitsvorteile erzielen lassen, bieten viele Prozessorarchitekturen hardwareseitig implementiert Befehlserweiterungen fßr die Virtualisierung an.cite-ref-8[8]
Wortherkunft
âHyperâ stammt aus dem Griechischen und bedeutet âĂźberâ. âVisorâ lässt sich aus dem Lateinischen âvidereâ ableiten, was âsehenâ bedeutet. Sinngemäà ßbersetzt handelt es sich also um ein System, welches als âAufseherâ etwas bzw. weitere Systeme âĂźberblicktâ bzw. âetwas Ăźberwachtâ.
Klassifizierung
In seiner Doktorarbeit âArchitectural Principles for Virtual Computer Systemsâcite-ref-9[9] von 1973 unterscheidet R. Goldberg zwei Typen von Hypervisoren:
⢠Ein Typ-1-Hypervisor (native oder bare-metal) setzt direkt auf der Hardware auf und benÜtigt keine vorherige Betriebssystem-Installation. Das setzt allerdings voraus, dass die Hardware des Hostsystems vom Typ-1-Hypervisor durch entsprechende Treiber unterstßtzt wird.
⢠Ein Typ-2-Hypervisor (hosted) setzt auf einem vollwertigen Betriebssystem auf dem Hostsystem auf und nutzt die Gerätetreiber des Betriebssystems, um auf die Hardware des Hostsystems zuzugreifen. Typ-2-Hypervisoren sind daher auf allen Hostsystemen lauffähig, auf denen vom Hypervisor unterstßtzte Hostbetriebssysteme lauffähig sind.
Der Begriff Hypervisor wird in VerÜffentlichungen und in der Presse zum Teil uneinheitlich verwendet, da er in einigen Quellen auf Typ 1cite-ref-10[10] oder auf Typ 2 mit Paravirtualisierung beschränkt wird. Quellen von IBM verwenden den Begriff Hypervisor allgemein, also fßr Typ 1 und Typ 2.cite-ref-11[11] Auch Quellen von VMware sprechen von Bare-Metal-Hypervisor (Typ-1), um sie von Typ-2-Hypervisoren zu unterscheiden, und verwenden den Begriff Hypervisor damit fßr Kategorie Typ-1 wie auch Typ-2.cite-ref-12[12]
Wurzeln der Virtualisierung im Mainframe-Bereich
Die ersten Hypervisoren, die Virtualisierung ermÜglichten, waren das von IBM entwickelte Testwerkzeug SIMMON auf Basis der damals neuen System/360-Hardware sowie das Forschungssystem CP-40, das in der ersten Version 1967 fertiggestellt wurde und später zur ersten Version von IBMs CP/CMS-Betriebssystem mit der Bezeichnung CP-40/CMS weiterentwickelt wurde. CP-40/CMS lief ebenfalls auf der System/360-Hardware, die so modifiziert wurde, dass zum ersten Mal eine Implementierung der virtuellen Speicherverwaltung verfßgbar war. Vor 1967 war Virtualisierung in einigen Betriebssystemen nur in dem Sinne implementiert, dass mehrere Anwendungsprogramme zeitgleich ausgefßhrt werden konnten (zum Beispiel CTSS und IBM M44/44X) und sich die gleiche Hardware (transparent fßr die Anwendungsprogramme) teilten. Mit CP-40/CMS war es zum ersten Mal mÜglich, mehrere Betriebssysteme in separaten virtuellen Maschinen zu betreiben.
FĂźr das IBM System/360-67 wurde CP-40 komplett reimplementiert und als CP-67 zum ersten auch kommerziell verfĂźgbaren Produktionssystem mit implementierter Komplett-Virtualisierung. Die erste Auslieferung der Hardware erfolgte 1967 â sie enthielt bereits Features wie in Hardware implementierte Page Translation Tables fĂźr virtuellen Speicher und andere Techniken, die es erlaubten, Kernel Tasks, I/O- und Interrupt Handling zu virtualisieren. Im gleichen Jahr wurden CP-40 und CP-67 auf ersten GroĂrechnern eingesetzt. Von 1968 bis 1972 stellte IBM seinen Kunden den Source Code von CP/CMS ohne Support zur VerfĂźgung.
CP/CMS war Teil von IBMs Anstrengungen, ein robustes Time-Sharing-System fĂźr seine GroĂrechner bereitzustellen. Da durch den Hypervisor mehrere Betriebssysteme parallel ausgefĂźhrt werden konnten, erhĂśhte er Zuverlässigkeit und Robustheit: Selbst wenn ein Betriebssystem ausfiel, konnten die anderen Betriebssysteme unbeeinflusst weiterarbeiten. Es erlaubte auĂerdem den parallelen Betrieb unterschiedlicher (zum Teil experimenteller) Versionen der Betriebssysteme.
IBM kĂźndigte das System/370 als Nachfolger der System/360-Serie 1970 ohne VirtualisierungsunterstĂźtzung an, fĂźgte diese Funktionalität jedoch 1972 hinzu. Seitdem ist Virtualisierung ein Bestandteil aller Nachfolger-Systeme (alle modernen Systeme, wie das System z, sind voll rĂźckwärtskompatibel zu den Serie-S/360 GroĂrechnern der 1960er Jahre). Die AnkĂźndigung der UnterstĂźtzung der Virtualisierung 1972 enthielt auch die AnkĂźndigung des VM/370-Betriebssystems, einer Reimplementierung des CP/CMS-Systems fĂźr die S/370-Serie. Im Unterschied zu CP/CMS bot IBM Software-Support fĂźr diese Version, obwohl die Auslieferung lange Zeit immer noch in Form von Sourcecode erfolgte. Das KĂźrzel âVMâ stand fĂźr Virtual Machine â man wollte damit betonen, dass nun alle und nicht nur einige Hardware-Interfaces virtualisiert waren. Sowohl VM als auch CP/CMS erfreuten sich groĂer Akzeptanz seitens Universitäten, Forschungseinrichtungen, Geschäftskundenanwendern und innerhalb IBM selbst. Trotzdem verloren VM bzw. CP/CMS nach einer Reihe von heftigen Disputen und Diskussionen innerhalb von IBM zwischen âTime-Sharingâ-Anhängern und âBatch-Processingâ-Anhängern gegenĂźber dem batch-gestĂźtzten MVS-Betriebssystem an Boden â schlieĂlich wurde VM jahrzehntelang als IBMs âanderesâ Betriebssystem neben MVS angesehen. Nach dem Jahr 2000 gewann VM wieder stärker an Bedeutung, da es in Form von z/VM unter anderem als Plattform fĂźr âLinux for zSeriesâ diente.
Im Jahr 1985 fĂźhrte IBM den PR/SM Hypervisor und mit ihm das Logical Partitioning genannte Konzept ein, das auch heute noch auf den Plattformen System/390, zSeries, pSeries und iSeries eingesetzt wird.
Ausprägungen
Unix- und Linux-Server-Hypervisoren
Die groĂen Unixhersteller, insbesondere Sun Microsystems, HP, IBM and SGI, verkaufen ServerlĂśsungen mit VirtualisierungsunterstĂźtzung bereits seit Ende der 1990er Jahre. Diese LĂśsungen waren meist nur mit sehr groĂen und entsprechend teuren Systemen erhältlich. Es gab aber auch einige im mittleren Preissegment angesiedelte LĂśsungen, wie z. B. IBMs pSeries Server, Sun/Oracles CoolThreads Server und HPs Superdome Server.
Mehrere Einflussfaktoren fĂźhrten ab 2005 zu einem Wiederaufleben der BemĂźhungen um die Virtualisierungstechnologien unter den Unix- und Linux-Serverherstellern:cite-ref-13[13]
⢠Leistungsfähigere Hardware erlaubt es jeder einzelnen Maschine, mehr Dinge parallel zu bearbeiten
⢠Anstrengungen, das Servermanagement und die Konsolidierung vorhandener Server zu vereinfachen
⢠Die Notwendigkeit, groĂe Multiprozessor- und Servercluster-Installationen â zum Beispiel in Server- und Render Farmen â zu verwalten
⢠Verbesserung von Sicherheit, Zuverlässigkeit und grĂśĂere Hardwareunabhängigkeit durch Hypervisor Installationen
⢠Die MÜglichkeit, komplexe, betriebssystemabhängige Applikationen auf verschiedenen Hardwareplattformen und Betriebssystemen zu betreiben
In den folgenden Abschnitten sind die durch die groĂen Serverhersteller angebotenen Hypervisor-Technologien dargestellt:
Sun/Oracle
Obwohl Solaris immer das einzige offiziell durch Sun/Oracle unterstĂźtzte Gastsystem auf ihrem Logical Domains Hypervisor war, stehen seit Ende 2006 Portierungen von Linux (Ubuntu und Gentoo) und FreeBSD zur VerfĂźgung, die ebenfalls auf dem Sun/Oracles Logical Domains Hypervisor lauffähig sind. Auch Wind River âCarrier Grade Linuxâ läuft auf Suns Hypervisor.cite-ref-windriver-14-0[14] Volle Virtualisierung auf Basis der SPARC-Prozessoren erwies sich als relativ einfach: Seit seiner EinfĂźhrung Mitte der 1980er Jahre hatte Sun bewusst darauf geachtet, die Architektur frei von Artefakten zu halten, die der Virtualisierung entgegengestanden hätten.cite-ref-windriver-14-1[14]
Sunâs Logical Domains Hypervisor ist ein Typ-1-Hypervisor, da er direkt auf der Hardware ausgefĂźhrt wird und die AusfĂźhrung der Gastsysteme steuert/Ăźberwacht.
HP
HP nennt seine Technologie, um mehrere Gastsysteme auf seinen auf dem Itanium-Prozessor basierenden Systemen zu betreiben, âIntegrity Virtual Machinesâ (Integrity VM). Die Itanium-Plattform unterstĂźtzt HP-UX, Linux, Windows und OpenVMS als Gastbetriebssysteme. Das HP-eigene HP-UX-Betriebssystem ist jedoch am besten auf die âIntegrity VMâ abgestimmt und bietet VirtualisierungsunterstĂźtzung mit Features wie Prozessor- und Speicher-Hotswaps (d. h. Austausch von Prozessoren oder Speicher im laufenden Betrieb) sowie Kernel-Updates ohne Reboot, die den anderen Betriebssystemen vorenthalten bleiben.
Der Integrity VM Hypervisor ist im Sinne der (Typ-1, Typ-2) Klassifizierung eine Hybridform. Der Integrity VM Hypervisor basiert im Wesentlichen auf HP-UX und läuft direkt auf der Hardware im Sinne eines Typ-1-Hypervisors. Die Gastbetriebssysteme laufen parallel zum Integrity VM Hypervisor, der als Spezialform des Betriebssystems HP-UX gleichzeitig auch prinzipiell die Ausfßhrung von HP-UX-Anwendungen zulassen wßrde (auch wenn dies durch HP nicht empfohlen wird). Aus diesem Grund kann hier nicht von einem reinen Typ-1-Hypervisor, sondern nur von einer Hybridform gesprochen werden.
IBM
IBM bietet VirtualisierungsunterstĂźtzung durch eine Logical Partitioning (LPAR) genannte Technologie auf den Plattformen System/390, zSeries, pSeries und iSeries. Der von IBM âPowerVMâ genannte Hypervisor arbeitet auf allen genannten Plattformen als in der Firmware implementierter bare-metal- (Typ-1-) Hypervisor, der Isolation zwischen den logischen Partitionen (LPARs) gewährleistet. Prozessor-Kapazität wird den LPARs entweder explizit zugeteilt oder auf Basis verfĂźgbarer Kapazität dynamisch dort zugeteilt, wo sie wegen hoher Last gerade am dringendsten benĂśtigt wird. LPAR-Gruppen kĂśnnen gemeinsame CPU-Kapazität in Form eines Pools verwalten lassen â IBM bezeichnet dieses Feature als Multiple Shared-Processor Pools (MSPPs) und stellt es in Servern mit dem POWER6-Prozessor zur VerfĂźgung. LPAR und MSPP-Kapazitätszuweisungen kĂśnnen angepasst werden. Speicher wird jedem LPAR entweder beim Start fest zugewiesen oder dynamisch bereitgestellt und bezĂźglich des Adressraums von der PowerVM kontrolliert (zum Schutz der Adressräume der unterschiedlichen VMs). I/O-Adapter kĂśnnen entweder exklusiv einem LPAR âgehĂśrenâ oder zwischen LPARs Ăźber einen Mechanismus mit der Bezeichnung Virtual I/O Server (VIOS) geteilt werden. Der Power Hypervisor sorgt durch Hotswap-Features fĂźr Prozessoren, Speicher, I/O-Adapter, Ventilatoren, Festplatten, Controller etc. (welche Features genau unterstĂźtzt werden, hängt vom genauen Modell ab) fĂźr hohe Ausfallsicherheit, kurze Wartungsfenster und hohe VerfĂźgbarkeit.
x86-Hypervisor
â
Hauptartikel
:
x86-Virtualisierung
2005 haben die CPU-Hersteller im x86-Bereich begonnen, VirtualisierungsunterstĂźtzung in ihre Produkte zu integrieren: Beispielsweise haben Intel-Prozessoren Intel VT-x (codenamed Vanderpool) und Intel APICv zur Interrupt-Virtualisierung integriert, AMD-Prozessoren AMD-V (codenamed Pacifica) und AMD AVIC zur Interrupt-Virtualisierung und VIA-Prozessoren VIA VT integriert. Virtualisierungssoftware, die diese Prozessorerweiterungen zur Virtualisierung ausnutzen, sind z. B. VirtualBox, Virtual PC, VMware Workstation, Parallels Desktop for Mac, Xen, VMware ESX/ESXi, KVM und Hyper-V.
Bei Hyper-V (Codename âViridianâ â frĂźher auch âWindows Server Virtualizationâ) handelt es sich um einen von Microsoft erstmals 2008 ausgelieferten Typ-1-Hypervisor;cite-ref-15[15] Windows-Versionen ab Windows Vista enthalten Erweiterungen, um die Performance zu optimieren, wenn sie basierend auf Hyper-V betrieben werden.
Bei VMware ESX/ESXi und Xen handelt es sich ebenfalls um einen Typ-1-Hypervisor.
Bei VirtualBox, Virtual PC, VMware Workstation und Parallels Desktop for Mac handelt es sich hingegen um Typ-2-Hypervisoren, die ein Basisbetriebssystem zur Installation benĂśtigen.
Storage-Hypervisoren
â
Hauptartikel
:
Storage-Hypervisor
Hypervisor fĂźr eingebettete Systeme
Da eingebettete Systeme (Embedded-Systeme) häufig nur stark beschränkte Ressourcen zur VerfĂźgung haben (insbesondere batteriebetriebene, mobile oder kartenintegrierte âon-chipâ Systeme), sind wichtige Anforderungen an Hypervisoren im Embedded-Bereich insbesondere geringer Speicherplatzverbrauch und geringer Verwaltungsaufwand in Form von zusätzlicher CPU-Rechenzeit. Hypervisoren fĂźr Embedded-Echtzeitbetriebssysteme (RTOS) als Sonderform mĂźssen zusätzlich bereits unter BerĂźcksichtigung von strengen Echtzeit-Anforderungen entworfen werden.
SchlieĂlich existieren in der Welt der eingebetteten Systeme viel mehr konkurrierende Architekturen als in der vergleichsweise Ăźberschaubaren Welt der x86-Architekturen der PC-Welt. UnterstĂźtzung fĂźr Virtualisierung durch das Betriebssystem erfordert aber mindestens Speicherschutzmechanismen in Form einer Memory Management Unit oder zumindest einer einfachen Speicherschutzeinheit, und eine Unterscheidung zwischen einem privilegierten und einem Benutzermodus auf Betriebssystemebene. Diese Anforderungen schlieĂen die Umsetzung der Virtualisierung auf vielen Embedded-Plattformen bereits aus. Die o. g. Features werden aber mindestens von x86-, MIPS-, ARM- und PowerPC-Architekturen als weitverbreiteten Architekturen im Embedded-Umfeld unterstĂźtzt.cite-ref-16[16]
Da Hersteller von eingebetteten Systemen normalerweise auch ihr eigenes Betriebssystem mit dem Chip mitliefern und damit volle Hoheit ßber Betriebssystemänderungen haben, besteht weniger Bedarf fßr volle Virtualisierung als im PC-Bereich (in dem es eine klare Trennung zwischen Hardware- und Betriebssystemherstellern gibt). Stattdessen machen Performancevorteile der Paravirtualisierungcite-ref-17[17] diese häufig zur Technologie der Wahl im Embedded-Bereich. ARM bietet mit dem ARM Cortex A15 aber auch einen Highend-Embedded-Prozessor mit Unterstßtzung fßr volle Hardware-Virtualisierung an.
Weitere Unterschiede zwischen der Virtualisierung im Server/Desktop-Bereich und Embedded-Umgebungen liegen in Anforderungen bezĂźglich effizienten Sharings von Ressourcen zwischen virtuellen Maschinen, Inter-VM-Kommunikation mit hoher Bandbreite und geringer Latenz sowie feingranularer Kontrolle des Informationsflusses zwischen VMs.cite-ref-hei08-18-0[18]
AnwendungsmĂśglichkeiten
Auslastung von Hardware
Vor der Virtualisierung benĂśtigte jedes System eigene Hardware. Die mit Abstand meiste Zeit verbringt moderne Hardware jedoch im Leerlauf. Folglich werden Energie und Platz verschwendet. Durch den Betrieb von mehreren Systemen auf derselben Hardware lassen sich die Ressourcen der Hardware besser auslasten und es wird weniger Hardware benĂśtigt. Dies fĂźhrt zu direkten Kosteneinsparungen fĂźr die Betreiber.
Softwareentwicklung
Virtuelle Maschinen mit unterschiedlichen Gastbetriebssystemen erlauben es dem Entwickler, seine Software mit geringem Aufwand auf den gewßnschten Zielplattformen zu testen. Falls die zu testende Software gravierende Fehler enthält, beschädigen diese nur das Gastsystem und haben keine Auswirkungen auf das Hostsystem.
Ausfallsicherheit
Durch den Einsatz virtueller Speicherpools oder Failover-Cluster, deren Knoten auf die VMs mehrerer physischer Servern verteilt wurden, lässt sich kostengßnstig Ausfallsicherheit erreichen.
Literatur
⢠R. Goldberg: Architectural Principles for Virtual Computer Systems. Ph.D. thesis, Harvard University, Cambridge, MA, 1972.
Weblinks
Commons
: Hypervisor
â Sammlung von Bildern, Videos und Audiodateien
Einzelnachweise
cite-note-11. â Virtual Machines. Abgerufen am 23. November 2025.
cite-note-22. â Cloud Computing Virtualization Concepts. Abgerufen am 23. November 2025 (englisch).
cite-note-33. â Udo Steinberg, Bernhard Kauer: NOVA: A Microhypervisor-Based Secure Virtualization Architecture. EuroSys 2010. In: Proceedings of the 2010 ACM European Conference on Computer Systems. Paris, France 2010 (englisch, hypervisor.org [PDF; abgerufen am 28. September 2024]).
cite-note-44. â Hedron Microkernel. In: GitHub. Cyberus Technology, abgerufen am 27. August 2024 (amerikanisches Englisch).
cite-note-55. â Cloud Hypervisor. In: GitHub. Cloud Hypervisor Project, abgerufen am 27. August 2024 (amerikanisches Englisch).
cite-note-66. â Microsoft Hyper-V, Rheinwerk Computing
cite-note-88. â Everything you need to know about the Intel Virtualization Technology (Memento vom 19. August 2014 im Internet Archive)
cite-note-99. â Robert P. Goldberg: Architectural Principles for Virtual Computer Systems. 1. Februar 1973 (dtic.mil [abgerufen am 24. Januar 2017]). Architectural Principles for Virtual Computer Systems (Memento vom 24. Januar 2017 im Internet Archive)
cite-note-1010. â Alles Ăźber Virtualisierung. In: Computerwoche, abgerufen am 16. August 2014.
cite-note-1111. â IBM Systems Virtualization, IBM Corporation, Version 2 Release 1 (2005), available on-line at publib.boulder.ibm.com (PDF; 247 kB) â description of basic concepts
cite-note-1212. â Was ist vSphere Hypervisor? Abgerufen am 8. Juli 2022.
cite-note-1313. â virtualization quickly becoming open source âkiller appâ (Memento vom 17. April 2011 im Internet Archive)
cite-note-windriver-1414. â Wind River To Support Sunâs Breakthrough UltraSPARC T1 Multithreaded Next-Generation Processor (Memento vom 10. November 2006 im Internet Archive)
cite-note-1515. â Peter Galli: Microsoft Sheds More Light on Windows Hypervisor Technology. In: eweek.com. 5. April 2006, abgerufen am 31. Januar 2023 (englisch).
cite-note-1616. â Marius Strobl: Virtualization for Reliable Embedded Systems. Hrsg.: GRIN Publishing GmbH. Munich 2013, ISBN 978-3-656-49071-5, S. 5â6 (grin.com).
cite-note-1717. â Virtualization | SYSGO. Abgerufen am 8. Juli 2022.
cite-note-hei08-1818. â Gernot Heiser: The role of virtualization in embedded systems. Eurosys '08: Eurosys 2008 Conference Glasgow Scotland 1 April 2008. In: Proc. 1st Workshop on Isolation and Integration in Embedded Systems (IIES'08). April 2008, S. 11â16 (englisch, ertos.nicta.com.au (Memento des Originals vom 21. März 2012 im Internet Archive) [abgerufen am 16. August 2014]).